#ifndef     __MOTORS_H
#define     __MOTORS_H

#include "../utils/nocopyable.h"
#include "../utils/object.h"
#include "../utils/error.h"

namespace driver {

class Motors : private utils::NoCopyable {

public:
    static constexpr uint32_t STIR_TIMEOUT = 10000;
    static constexpr uint32_t WATER_TIMEOUT = 8000;
    static constexpr uint32_t ICE_TIMEOUT = 8000;

    Motors();

    utils::Error stir_box_open();
    utils::Error stir_box_close();

    utils::Error water_left();
    utils::Error water_right();

    utils::Error ice_left();
    utils::Error ice_right();

private:    

};

inline utils::Object<Motors> motors;

}



#endif
